1. Field of the Invention
The disclosed embodiments of the present invention relate to managing data stored in a flash memory, and more particularly, to a refresh method for a flash memory and related memory controller thereof.
2. Description of the Prior Art
Semiconductor memory devices may be classified into volatile memory devices and non-volatile memory devices according to their operating characteristics. The volatile memory devices perform read/write operations at high speed, but lose stored data in the absence of applied power. In contrast, the non-volatile memory devices are able to retain stored data in the absence of applied power. The so-called “flash memory” is one type of non-volatile memory that provides high memory cell integration density. Hence, the flash memory may be adopted as a data storage medium such as a solid-state drive (SSD).
With the advance of the flash memory, one memory cell is capable of storing more than one data bit. However, the programming of such flash memory cells, each capable of storing multiple data bits, requires careful control over the threshold voltage distributions that respectively correspond to different programmed data values. Specifically, increased integration density for a flash memory necessarily requires decreased minimum feature sizes for the memory cells making up the flash memory. At the same time, the coupling effects between floating gates of the constituent memory cells may increase, which may impair the reliability of the flash memory.
Besides, since the size of the floating gate becomes smaller due to increased integration density of the flash memory, the data-retention disturbance becomes an import issue to be solved. In one conventional design, when data-retention disturbance occurs in a block after data is stored into the block, a complicated soft decoding algorithm is employed to recover the stored data in the block through multiple read operations. After the stored data is successfully recovered, one replacement block found in the flash memory is selected and programmed to store the recovered data, and the original block is erased to become a blank block. However, this conventional data-retention recovery scheme increases the number of program/erase (P/E) cycles, which shortens the life of the flash memory inevitable.